package s_001_Bean_Registered.bean;

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.beans.ConstructorProperties;

/**
 * @Setter // 为字段生成 set 方法
 * @Getter // 为字段生成 get 方法
 * @ToString(of = "",exclude = {"",""}) // 为当前类生成 ToString 方法，of 为要显示的字段，exclude 为不显示的字段，默认全部显示
 * @NoArgsConstructor // 为当前类生成无参构造器
 * @AllArgsConstructor // 为当前类生成全参构造器
 * @EqualsAndHashCode(of = {"",""},exclude = "")  //生成 equals 和 hashCode 方法
 * @Slf4j // 可以在类中直接使用日志 log 对象
 * @Log4j
 * @Data // 包含了 @Setter，@Getter，@ToString，@EqualsAndHashCode，还会生成 canEqualf 方法
 */
@Getter
@Setter
@NoArgsConstructor
public class Person {
    private String name;

    private Integer age;

    private String nickName;

    @ConstructorProperties({"namex", "agex", "nickNamex"})
    public Person(String name, Integer age, String nickName) {
        this.name = name;
        this.age = age;
        this.nickName = nickName;
    }
}
